'use strict';
const dayjs = require("dayjs");
const {getDefaultModelConfig} = require("../../utils/common");

module.exports = app => {
    const { STRING, INTEGER, DATE, TINYINT, TEXT, BOOLEAN } = app.Sequelize;
    return app.model.define(
        'YouthStartupLoan',
        {
            id: {type: INTEGER, primaryKey: true, autoIncrement: true},
            name: STRING(50), // 姓名
            gender: {type: STRING, defaultValue: '', comment: '性别：男，女'}, // 性别
            ethnicity: STRING(20), // 民族
            household_location: STRING(255), // 户籍地
            photo: STRING(255), // 一寸近照
            id_card: STRING(18), // 身份证号码
            credit_code: STRING(50), // 统一社会信用代码（或营业执照注册号）
            phone: STRING(11), // 联系电话
            employment_cert_number: STRING(50), // 《就业创业证》号码
            education: STRING(50), // 文化程度
            business_entity_name: STRING(200), // 经营实体名称
            business_scope: TEXT, // 经营范围
            address: STRING(255), // 地址
            startup_street: STRING(100), // 创业地所在街道、社区
            has_other_loans: {type: BOOLEAN, defaultValue: false, comment: '除助学贷款、扶贫贷款、首套房贷款外，是否有其他商业银行贷款未结清记录'}, // 是否有其他贷款
            personnel_category: TEXT, // 人员类别（多选）
            id_card_front_photo: TEXT, // 身份证正面照片
            id_card_back_photo: TEXT, // 身份证反面照片
            graduation_cert_photo: TEXT, // 毕业证书或教育部学历证书电子注册备案表
            degree_cert_photo: TEXT, // 学位证照片
            invitation_material_photo: TEXT, // 在企业求职面试现场照片
            status: {type: TINYINT, defaultValue: 0, comment: '审核状态：0-待审核，1-审核通过，2-审核拒绝'}, // 审核状态
            review_remark: TEXT, // 审核备注
            reviewer: STRING(50), // 审核人
            ...getDefaultModelConfig(app)
        },
        {
            tableName: 'youth_startup_loan',
            timestamps: true,
            createdAt: 'create_time',
            updatedAt: 'update_time'
        }
    );
};
